*** Settings ***
Library  Selenium2Library
Library  DatabaseLibrary    # 导入数据管理库
Resource  ../resource/Platform1.0Keywords.robot    # 导入资源文件夹中的MyKeywords文件
Test Teardown  close browser
Documentation  机构管理主流程测试

*** Test Cases ***
机构管理菜单按钮测试
    [Documentation]  点击机构管理菜单，进入机构管理首页
    # 进入机构管理页
    Click OrgManagement Button
    # 进入机构管理iframe嵌套页面
    select frame  xpath=/html[1]/body[1]/div[1]/div[1]/div[5]/div[2]/iframe[1]
    # 获取元素文本
    ${orgAttribute}  get text  xpath=//div[@class='list-m']//h5
    # 断言测试结果是否正确
    should be equal  ${orgAttribute}  机构属性列表

机构名称筛选框功能测试
    [Documentation]  在机构名称筛选框输入总行，然后按回车筛选
    Click OrgManagement Button
    # 进入机构管理iframe嵌套页面
    select frame  xpath=/html[1]/body[1]/div[1]/div[1]/div[5]/div[2]/iframe[1]
    # 在机构名称中输入“总行”
    input text  xpath=//input[@placeholder='请输入机构名称']  总行
    # 获取机构树元素，将文本传入变量
    ${orgText}  get text  id=orgTree_1_span
    # 判断元素中的文本是否包含“总行”
    should contain  ${orgText}  总行

机构属性列表机构属性展示测试
    [Documentation]  点击机构“总行”，查看机构展示内容是否正确
    Click OrgManagement Button
    # 进入机构管理iframe嵌套页面
    select frame  xpath=/html[1]/body[1]/div[1]/div[1]/div[5]/div[2]/iframe[1]
    # 点击机构名称“总行”
    click element  id=orgTree_1_span
    # 因为机构属性列表中的机构名称元素位disabled灰化展示，所以获取它的文本为空
    should not be empty  get text  xpath=//input[@name='orgName']

机构新增按钮测试
    [Documentation]  点击新增按钮，进入机构新建界面，填写信息提交
    Click OrgManagement Button
    # 进入机构管理iframe嵌套页面
    select frame  xpath=/html[1]/body[1]/div[1]/div[1]/div[5]/div[2]/iframe[1]
    # 点击新增按钮
    click element  xpath=//a[@class='createBtn xz_btn']
    # 进入机构新增嵌套页
    select frame  id=layui-layer-iframe1
    # 元素机构名称变为可见
    element should be enabled  xpath=//ul[@class='formWrap clearfix']//li[1]//span[2]

机构新增流程测试正例
    [Documentation]  点击新增按钮，进入机构新建界面，填写信息提交
    Click OrgManagement Button
    # 进入机构管理iframe嵌套页面
    select frame  xpath=/html[1]/body[1]/div[1]/div[1]/div[5]/div[2]/iframe[1]
    # 点击新增按钮
    click element  xpath=//a[@class='createBtn xz_btn']
    # 进入机构新增嵌套页
    select frame  id=layui-layer-iframe1
    # 输入机构名称
    input text  name=orgName  ${orgName}
    # 输入机构代码
    input text  name=orgId  ${orgId}
    # 点击法人机构标识按钮
    click element  xpath=//li[4]//div[1]//div[1]//div[1]//div[1]//i[1]
#    # 机构类型选择非法人机构
#    click element  xpath=//div[@class='layui-unselect layui-form-select layui-form-selected']//dd[1]
    # 机构类型选择法人机构
    click element  xpath=//div[@class='layui-unselect layui-form-select layui-form-selected']//dd[@class='layui-this']
    # 点击上级机构框出现机构树
    click element  xpath=//body/div[@id='form-wrap']/form[@id='create_form_id']/div[@class='modal-body selectmodal']/ul[@class='formWrap clearfix']/li[5]/div[1]/div[1]
    # 在机构树中输入机构名称
    input text  xpath=//input[@placeholder='请输入机构名称']  总行
    sleep  0.5
    # 点击选择机构-总行
    click element  id=orgTree_1_a
    # 点击确定按钮
    click element  xpath=//a[@class='layui-layer-btn0']
    # 点击行政区划
    click element  xpath=//li[11]//div[1]//div[1]//div[1]//div[1]
    # 选择市区为北京市
    click element  xpath=//div[@class='layui-input-inline']//dd[2]
    # 点击市辖区下拉框
    click element  xpath=//body/div[@id='form-wrap']/form[@id='create_form_id']/div[@class='modal-body selectmodal']/ul[@class='formWrap clearfix']/li/div[@class='layui-form-item']/div[2]/div[1]
    # 选择市辖区
    click element  xpath=/html[1]/body[1]/div[1]/form[1]/div[1]/ul[1]/li[11]/div[1]/div[2]/div[1]/dl[1]/dd[2]
    # 点击辖区选择框
    click element  xpath=//div[3]//div[1]//div[1]//input[1]
    # 选择朝阳区
    click element  xpath=/html[1]/body[1]/div[1]/form[1]/div[1]/ul[1]/li[11]/div[1]/div[3]/div[1]/dl[1]/dd[4]
    # 点击提交按钮
    click element  id=submitPage
    # 获取操作提示界面文字
    ${getsuccess}  get text  xpath=//div[@class='layui-layer-content layui-layer-padding']
    # 断言，提示界面文字为“操作成功”代表测试通过
    should be equal  ${getsuccess}  操作成功
    # 点击确定按钮
    click element  xpath=/html[1]/body[1]/div[4]/div[3]/a[1]

编辑流程功能测试
    [Documentation]  输入“分行李”并选中这个机构，对其进行编辑
    # 点击机构管理菜单按钮
    Click OrgManagement Button
    # 进入机构管理嵌套页
    select frame  xpath=/html[1]/body[1]/div[1]/div[1]/div[5]/div[2]/iframe[1]
    # 在机构名称中输入“分行李”
    input text  xpath=//input[@placeholder='请输入机构名称']  ${orgName}
    # 点击编辑按钮
    click element  xpath=//a[@class='updateBtn bj_btn']
    # 进入机构编辑嵌套页
    select frame  id=layui-layer-iframe1
    # 清空机构名称
    clear element text  name=orgName
    # 重新输入机构名称
    input text  name=orgName  分行01
    # 在备注中添加内容
    input text  name=remark  测试测试测试
    # 点击提交按钮
    click element  id=submitPage
    # 获取操作提示界面文字
    ${getsuccess}  get text  xpath=//div[@class='layui-layer-content layui-layer-padding']
    # 断言，提示界面文字为“操作成功”
    should be equal  ${getsuccess}  操作成功
    # 点击确定按钮
    click element  xpath=/html[1]/body[1]/div[4]/div[3]/a[1]

删除新增机构脏数据
    [Documentation]  因页面无法删除系统参数，故需要连接oracle数据库，删除测试数据
    # 连接oracle数据库,连接配置参数顺序可以参考query.py中的
    connect to database using custom params  cx_Oracle    'dhcc25','dhcc250716','172.28.28.168:1521/ORCL'
    # 查询内容并打印出来
    @{systemOrg}  query  SELECT * from system_org where org_id='202020'
    log to console  @{systemOrg}
    #执行SQL语句
    execute sql string  delete from system_org where org_id='202020'
    # 关闭数据库连接
    disconnect from database